Claude Code Agent及子代理

概述

Claude Code 通过 Task 工具启动子代理(Subagent),每个子代理是独立的 Claude 实例,拥有自己的 200K token 上下文窗口。本文档介绍子代理的工作原理、内置类型、并行执行机制,以及如何通过提示词高效使用子代理完成代码探索、架构分析等任务。

子代理核心优势

子代理适合处理需要大量上下文的任务,如代码探索、架构分析、代码审查等。执行完毕后将结果返回给主 Agent,保持主会话的上下文清洁。

Task 工具与子代理

Claude Code 通过 Task 工具启动子代理(Subagent),每个子代理是独立的 Claude 实例,拥有自己的 200K token 上下文窗口。子代理适合处理需要大量上下文的任务,如代码探索、架构分析、代码审查等,执行完毕后将结果返回给主 Agent。

为什么需要子代理

主 Agent 的上下文窗口是有限资源,当需要:

  • 搜索大量文件内容
  • 分析复杂代码结构
  • 执行多个独立任务

将这些任务委派给子代理,可以保持主会话的上下文清洁,同时利用并行执行提升效率。

上下文隔离

子代理拥有独立的 200K token 上下文窗口,不会占用主 Agent 的上下文空间,适合执行上下文密集型任务。

子代理核心特性

特性说明
独立上下文每个子代理有 200K token 窗口
无状态执行完毕即销毁,无法持续对话
结果返回子代理输出对用户不可见,由主 Agent 汇总呈现
工具继承子代理工具集由类型决定

内置子代理类型

Explore

快速探索代码库的专用子代理,适合文件搜索、关键词匹配、代码结构分析。

可用工具: Glob、Grep、Read、LSP、WebFetch、WebSearch

触发提示词:

使用 Explore 子代理搜索项目中所有与用户认证相关的文件,包括登录、权限校验、Token 处理,列出文件路径和关键函数
用子代理帮我查找所有 Controller 类,分析它们的接口定义

适用情况:

  • 不确定目标文件位置时的模糊搜索
  • 需要跨多个目录查找模式匹配
  • 理解陌生代码库的入口探索
Explore 使用场景

Explore 子代理适合快速探索陌生代码库,通过关键词搜索快速定位相关文件和代码逻辑。

Plan

架构设计专用子代理,用于分析代码结构并制定实现方案。

可用工具: 除 Edit、Write、NotebookEdit 外的所有工具

触发提示词:

使用 Plan 子代理分析当前项目的数据访问层,设计一个 Redis 缓存方案,考虑缓存粒度、失效策略、一致性保障
让 Plan 代理帮我规划这个功能的实现步骤,先分析现有代码结构

适用情况:

  • 新功能的技术方案设计
  • 重构前的架构分析
  • 需要权衡多种实现方式时
Plan 代理优势

Plan 子代理可以深入分析代码结构,综合考虑多种实现方案,帮助做出更合理的架构决策。

code-reviewer

代码审查专用子代理,用于检查代码质量、发现潜在问题。

可用工具: 所有工具

触发提示词:

使用 code-reviewer 子代理审查 src/auth/ 目录下的代码,重点关注安全漏洞、错误处理、代码规范
让代码审查代理检查我最近的修改,看看有没有问题

适用情况:

  • 提交前的代码自查
  • 合并请求的自动化审查
  • 重构后的质量验证
代码审查建议

code-reviewer 子代理会提供改进建议,但最终决策需要开发者根据项目实际情况判断。

并行执行机制

顺序 vs 并行

场景执行方式
任务之间无依赖并行
后续任务需要前置结果顺序
只读操作(搜索、分析)适合并行
写操作(编辑同一文件)必须顺序

触发并行执行

在提示词中明确要求并行启动多个子代理:

并行启动 3 个 Explore 子代理:
1. 第一个搜索所有 Controller 类
2. 第二个搜索所有 Service 类
3. 第三个搜索所有 Mapper 接口
汇总后告诉我项目的分层结构
使用多个子代理同时分析:
- 子代理 1:分析前端组件结构
- 子代理 2:分析后端接口定义
- 子代理 3:分析数据库表结构

关键点:

  • 子代理之间完全隔离,无法相互通信
  • 主 Agent 等待所有子代理完成后汇总结果
  • 每个子代理的结果按启动顺序返回
并行执行效率

并行执行多个子代理可以显著提升分析效率,尤其适合需要从多个维度分析同一代码库的场景。

实战:多维度代码分析

以分析一个 Spring Boot 项目的订单模块为例,同时从三个维度进行分析。

场景: 接手一个陌生项目,需要快速理解订单模块的实现。

用户输入:

我需要理解这个项目的订单模块,请并行启动 3 个子代理帮我分析:

1. 文件结构探索:查找所有与订单(Order)相关的文件,按 Controller、Service、Mapper、Entity 分类列出

2. 接口分析:找到订单相关的 REST 接口,列出每个接口的路径、方法、参数、返回值

3. 数据流分析:追踪订单创建的完整流程,从 Controller 到数据库,记录每一层的关键方法调用

最后汇总成一份报告

执行结果:

三个子代理并行执行后,主 Agent 收到三份独立报告:

  • 文件结构报告:模块的代码组织方式
  • 接口清单:对外暴露的 API 列表
  • 数据流图:业务逻辑的执行路径

主 Agent 将这些信息整合,形成对订单模块的完整理解。

多维度分析

通过并行执行多个子代理,可以从不同维度快速理解复杂模块,比单一维度分析更全面高效。

子代理工作流程

flowchart LR
    A[用户提示词] --> B[主 Agent]
    B --> C[子代理 1]
    B --> D[子代理 2]
    B --> E[子代理 3]
    C --> F[结果 1]
    D --> G[结果 2]
    E --> H[结果 3]
    F --> I[主 Agent 汇总]
    G --> I
    H --> I
    I --> J[返回用户]

常用提示词模板

代码探索

使用 Explore 子代理查找项目中所有与 [关键词] 相关的代码,列出文件路径和核心逻辑

架构分析

使用 Plan 子代理分析 [模块名] 的架构,给出实现 [功能] 的技术方案

代码审查

使用 code-reviewer 子代理审查 [目录/文件],重点关注 [安全/性能/规范]

并行分析

并行启动多个子代理分析这个项目:
1. [任务1描述]
2. [任务2描述]
3. [任务3描述]
汇总后给我完整报告
成本控制

简单搜索任务可在提示词中指定使用 haiku 模型,如"使用 haiku 模型的 Explore 子代理搜索...",降低 API 调用成本。

避免冲突

多个子代理不应同时编辑同一文件,写操作必须顺序执行以避免冲突。